﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DigitalImage.softLib.stages._3BinaryTransformations {
    class CBTborderElimination:IBinaryTransformation {
        private int borderSize;

        public CBTborderElimination(int borderSize) {
            this.borderSize=borderSize;
        }

        public byte[,] transform(byte[,] inputImage) {
            int Width=inputImage.GetLength(0);
            int Height=inputImage.GetLength(1);
            //gore
            for(int i=0;i<Width;i++) {
                for(int j=0;j<borderSize;j++) {
                    inputImage[i, j]=255;
                }
            }

            //desno
            for(int i=Width-1;i>=Width-borderSize;i--) {
                for(int j=0;j<Height;j++) {
                    inputImage[i, j]=255;
                }
            }

            //dole
            for(int i=0;i<Width;i++) {
                for(int j=Height-1;j>=Height-borderSize;j--) {
                    inputImage[i, j]=255;
                }
            }

            //levo
            for(int i=0;i<borderSize;i++) {
                for(int j=0;j<Height;j++) {
                    inputImage[i, j]=255;
                }
            }

            return inputImage;
        }

    }
}
